package space

import (
	"src/zeus/linmath"
)

// SetPos 设置位置
func (e *Entity) SetCoordPos(pos linmath.Vector3) {

	protoVec3 := e.Position.GetValue().(*linmath.Vector3)
	posOld := linmath.NewVector3Imsg(protoVec3.Vector3) //protoVec3.GetX(), protoVec3.GetY(), protoVec3.GetZ())

	if posOld.IsEqual(pos) {
		return
	}

	// origPos := pos
	//e.SetPos(pos)

	e.determineAOIFlag(pos)

	if e.IsBeLinked() {
		e.updateLinkerPos(pos)
	}

	// e.updatePosCoord(pos)
	// iPC, ok := e.GetRealPtr().(iserver.IPosChange)
	// if ok {
	// 	iPC.OnPosChange(posOld, origPos)
	// }
}
